package com.elitel.frame.base.service;

import com.elitel.frame.main.entity.CfgExtsearch;
import com.elitel.frame.main.entity.CfgField;
import com.elitel.frame.main.entity.SysPrjservice;
import com.elitel.frame.main.entity.ext.CfgExtsearchExt;
import com.elitel.frame.main.entity.vo.FullTextSearchVo;

import java.util.List;

/**
 * show 全文检索服务接口
 * by date 2018/03/13 guoyanfei
 */
public interface CfgExtsearchService {
    /**
     * show 通过表标识查询字段类型为String的字段信息
     * by date 2018/03/13
     * @param dtConfigId 表标识
     * @return CfgField实体list集合
     * @author guoyanfei
     */
    List<CfgField> getFieldBydtconfig(String dtConfigId);

    /**
     * show 通过guid查询全文检索配置服务信息
     * by date 2018/03/14
     * @param guid 服务ID
     * @return CfgExtsearch实体
     * @author guoyanfei
     */
    CfgExtsearch getSearchByguid(String guid);

    /**
     * show 新增全文检索基本服务信息(cfgextsearch)与配置信息(basesearch)服务接口
     * created by date 2018/03/16
     * @param cfgExtsearchExt 全文检索扩展实体
     * @return 新增结果
     * @author guoyanfei
     */
    Integer addSearchInfo(CfgExtsearchExt cfgExtsearchExt);

    /**
     * show 通过服务ID 查询全文检索服务配置信息
     * created by date 2018/03/14
     * @param serviceId 服务ID
     * @return BaseSearch实体List集合
     * @author guoyanfei
     */
    List<FullTextSearchVo> getBasesearchInfoByserviceId(String serviceId);

    /**
     * show 修改全文检索服务基本信息(CFG_EXTSEARCH表)及配置信息(BASE_SEARCH表)
     * created by date 2018/03/14
     * @param cfgExtsearchExt 实体
     * @return 修改结果
     * @author guoyanfei
     */
    Integer updateSearchInfo(CfgExtsearchExt cfgExtsearchExt);

    /**
     * show 删除服务中间表(SYS_PRJSERVICE)，全文检索服务配置表(cfg_extsearch),
     * 全文检索服务配置表(base_search) created by date 2018/03/15
     * @param sysPrjservice 中间表服务实体
     * @return 删除条数
     * @author guoyanfei
     */
    Integer deleteSearchInfoByprjservices(SysPrjservice sysPrjservice);

    /**
     * show 修改全文检索服务基本信息(CFG_EXTSEARCH表)
     * created on 2018/3/22
     * @param cfgExtsearch 实体
     * @return 修改条数
     * @author guoyanfei
     */
    Integer updateCfgExtsearch(CfgExtsearch cfgExtsearch);

    /**
     * show 查询所有全文检索基本信息表
     * created on 2018/03/28
     * @return CfgExtSearch实体list集合
     * @author guoyanfei
     */
    List<CfgExtsearch> selectAllCfgExtSearch();

}
